package com.ozo.easy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ozo.easy.common.model.*;
import com.ozo.easy.entity.SysRole;
import com.ozo.easy.pojo.vo.SysRoleDetailVO;
import com.ozo.easy.pojo.dto.SysRoleSaveDTO;
import com.ozo.easy.pojo.vo.SysRoleVO;
import com.ozo.easy.pojo.dto.SysRoleQueryDTO;

/**
 * 角色 服务类
 *
 * @author ozo
 * @version 1.0
 * @date 2025-02-14 16:53:43
 */
public interface ISysRoleService extends IService<SysRole> {

    /**
     * 添加角色
     *
     * @param saveDTO
     */
    void add(SysRoleSaveDTO saveDTO);

    /**
     * 删除角色
     *
     * @param batchDTO
     */
    void remove(BaseBatchDTO<Long> batchDTO);

    /**
     * 编辑角色
     *
     * @param saveDTO
     */
    void edit(SysRoleSaveDTO saveDTO);

    /**
     * 角色分页
     *
     * @param basePage
     * @param queryDTO
     * @return
     */
    PageResult<SysRoleVO> page(BasePage basePage, SysRoleQueryDTO queryDTO);

    /**
     * 角色详情
     *
     * @param id
     * @return
     */
    SysRoleDetailVO detail(Long id);

    /**
     * 启用禁用
     *
     * @param id
     */
    void enable(Long id);

}
